.\"	@(#)fseek.3s	6.3 (Berkeley) 2/24/86
.\"
.TH FSEEK 3  "February 24, 1986"
.AT 3
.SH NAME
fseek, fseeko, ftell, ftello, rewind \- reposition a stream
.SH SYNOPSIS
.nf
.ft B
#include <stdio.h>

int fseek(FILE *\fIstream\fP, long \fIoffset\fP, int \fIptrname\fP)
int fseeko(FILE *\fIstream\fP, off_t \fIoffset\fP, int \fIptrname\fP)
long ftell(FILE *\fIstream\fP)
off_t ftello(FILE *\fIstream\fP)
void rewind(FILE *\fIstream\fP)
.ft R
.fi
.SH DESCRIPTION
.B Fseek
and
.B fseeko
set the position of the next input or output
operation on the
.IR stream .
The new position is at the signed distance
.I offset
bytes
from the beginning, the current position, or the end of the file,
according as 
.I ptrname
has the value 0, 1, or 2.
.PP
.B Fseek
and
.B fseeko
undo any effects of
.BR  ungetc (3).
.PP
.B Ftell
and
.B ftello
return the current value of the offset relative to the beginning
of the file associated with the named
.IR stream .
It is measured in bytes on UNIX;
on some other systems it is a magic cookie,
and the only foolproof way to obtain an 
.I offset
for
.BR fseek 
and
.BR fseeko .
.PP
.BR Rewind "(\fIstream\fR)"
is equivalent to
.BR fseek "(\fIstream\fR, 0L, 0)."
.SH "SEE ALSO"
.BR lseek (2),
.BR fopen (3).
.SH DIAGNOSTICS
.B Fseek
and
.B fseeko
return \-1 for improper seeks, otherwise zero.
